#pragma once

#include "helper.h"
#include "provider.h"

class lyric_lookup_task : public threaded_process_callback
{
public:
	lyric_lookup_task(metadb_handle_list_cref p_data) : m_data(p_data), m_provider(NULL) {}
	void run(threaded_process_status & p_status,abort_callback & p_abort);
	void on_done(HWND p_wnd,bool p_was_aborted) {}
	void start();
	//! Set Lyric Provider
	void set_provider(lyric_provider_ptr p_provider) { m_provider = p_provider; }

private:
	metadb_handle_list m_data;
	service_ptr_t<lyric_provider_base> m_provider;
};
